package com.sihai.ehr.service;

import com.sihai.core.Limit;
import com.sihai.core.LimitedList;
import com.sihai.core.Sorter;
import com.sihai.ehr.model.biz.TrainAssess;
import com.sihai.ehr.web.pojo.TrainAssessPojo;

/**
 * 培训评价接口
 * 
 * @author henry
 * 
 */
public interface TrainAssessService {
	/** 获取培训评价 */
	TrainAssess getTrainAssess(Long id);
	/** 获取培训评价 */
	TrainAssess getTrainAssessByPlanWeight(Long planId,String weightTitle, int assessType,Long workId);
	/**
	 * 根据培训编号获取评价内容
	 * 
	 * @param planId
	 * @param assessWeightId
	 * @param limit
	 * @param sorter
	 * @return
	 */
	LimitedList<TrainAssess> getTrainAssesses(Long planId, Long assessWeightId,
			Limit limit, Sorter sorter);

	/**
	 * 根据培训编号获取评价POJO对象内容
	 * 
	 * @param planId
	 * @param weightTitle
	 * @param limit
	 * @param sorter
	 * @return
	 */
	LimitedList<TrainAssessPojo> getTrainAssessPojos(Long planId,
			String weightTitle, int assessType,Limit limit, Sorter sorter);
	
	/**
	 * 根据培训权限获取培训计划已经评论数
	 * @param planId
	 * @param weightTitle
	 * @param assessType
	 * @return
	 */
	Long getTrainAssessNumByWeight(Long planId,String weightTitle, int assessType,Long workId);

	/** 保存培训评价 */
	void save(TrainAssess trainAssess);

	/**
	 * 删除培训评价
	 * 
	 * @param categoryId
	 */
	void deleteTrainAssess(String ids);

	/**
	 * 根据培训编号删除评价
	 * 
	 * @param planId
	 */
	void deleteTrainAssessByPlanId(Long planId);

	/**
	 * 根据培训编号集删除评价
	 * 
	 * @param planIds
	 */
	void deleteTrainAssessByPlanIds(String planIds);

}
